This invention generally relates to computer/user interfaces and, more particularly, to a data entry screen method for use with a system that allows for display of multiple windows on the computer screen where each window displays data for an application or a portion of an application.
Windowed user interfaces have been used by a segment of the computer community for a number of years and are now becoming the design of choice of more and more application developers. The windowed user interface can be described by likening it to the basic elements of a non-electronic office: the file cabinet; the file folder; the document; and, the desk top or work surface.
In the traditional office, data is stored on pieces of paper that are organized according to some criteria (e.g., subject matter, date, type, etc) within file folders that are marked to identify their contents and in turn stored in file cabinets. In the course of a day many documents from a variety of folders from the file cabinet may find there way onto the desk top for use by the person working with the data. And many of these documents may be on the desk top at the same time. Organizing the documents on the desk top can save a lot of time when the need arises to locate data from a particular document.
In very much the same way, windowed user interface systems for computers allow numerous "documents" (called windows) to be brought up from the data storage media (i.e., hard disk, floppy disk, etc.) and displayed on the screen and remain there at the same time. Each window brought up has a data header associated with it which contains system maintained data about the window ( e.g., size), as well as application data maintained by the application program (e.g., type of information to be displayed in the window). Some of the header data may be visually displayed on the screen and some will not be.
The displayed windows usually visually overlap one another on the computer screen, but there can be multiple windows in the foreground. In either event, however, there is only one window that has the "display focus" and is entirely displayed, and to which user input is directed. The numerous displayed windows can be thought of and visualized as a "stack" of documents with bits and pieces of the documents below the top document exposed but only the document on the top of the stack being fully exposed (not fully or partially covered by another document).
Since the only window available for user input is the one in display focus (on the top of the stack), it is necessary to bring a window to the top of the stack (into display focus) before data can be entered into, or extracted from it. In order to bring a hidden window into display focus, the user of the window system has to typically find the hidden window by moving around the windows displayed in the foreground until a portion of the sought after window is visible and then clicking (putting a mouse indicator on the icon and operating the appropriate activator) on that portion of the window to bring the entire window to the foreground and into display focus. Because it can be difficult and time consuming to find a particular window in this manner, a more efficient and convenient method for is desireable.
Systems known in the art provide some assistance in finding a window. One such system is found in Word Perfect Corporation's program for the Macintosh, Word Perfect 1.0.2, which provides a pull-down menu (a small window separate from the stack that can be temporarily activated upon command) that lists by title all of the windows in the stack on the screen and permits any listed window to be "selected" and thereby brought to the top of the stack (in display focus) and available for user input. The pull-down menu (or a preset key stoke) also allows the displayed windows to be cycled to the top of the stack one at a time. The major drawback of this system is that all of the windows in the stack must be cycled to find the desired window unless the user knows the title of the window being looked for. When the number of windows in the stack is more than a few, this method quickly becomes time consuming and unwieldy.
Apple Computer's MultiFinder program for the Macintosh permits a number of different application programs to be in memory at the same time (that is, it is not required that one application program be closed before another one is run), and uses icons to identify which of the several programs is active and either running or currently available to run. All of the windows created and displayed on the screen by a particular program form a single stack that can be separately cycled by making predetermined keystrokes. Since there is no provision for subdividing a stack of a program, to find a particular window it may be necessary to cycle through the entire stack. If a user wants to activate a window in a stack of windows from a program other than the one that is currently active, that other program must first be made active and then the windows in the stack associated with that program searched. In MultiFinder, changing from one program to another and thus from one stack to another is accomplished by clicking on a program identifying icon displayed on the screen. This cycles the icons so that the icon for each of the programs being run appears on the screen one at a time. The user clicks on the icons until the icon representing the program that the user wants to run or who's stack the user wants to searched appears on the screen.
In addition to the fact that the above described system operates only for systems running multiple application programs, it further has the disadvantage that it requires that icons be cycled to locate one of several stacks each time that a particular window from a different stack is retrieved. It further requires that in addition to clicking on the icon, keystrokes be used to cycle the windows.
As windowed interfaces have become more widely applied and refined, the concept has been developed of identifying each window with an "object" where the object is defined as a class of data managed by the application. Each distinct class of data is identified by an "object type". In this way, the window system can be viewed as a collection of windows where each window is typed by the object that it displays. For example, in a mail management system the object types may include messages, new messages, composed documents, names, addresses, etc. A number of windows of the same object type can, and frequently will, be displayed on the screen at the same time. When the number of windows on the screen becomes more than a few, some method of quickly and efficiently searching through them is absolutely required if the user is not to become bogged down in going from a window of one object type to a window of another object type, which is often necessary.
The method of the present invention over comes the disadvantages of prior art systems by an elegant and efficient method that permits more direct access to desired information in a windowed system.